package cn.iocoder.yudao.boot.common.constant;

import cn.iocoder.yudao.boot.common.exception.ErrorCode;
import cn.iocoder.yudao.boot.common.exception.ResultCode;
import org.springframework.http.HttpStatus;

import java.rmi.ServerError;

/**
 * 全局错误码枚举
 * 一般情况下，使用 HTTP 响应状态码 https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status
 * 虽然说，HTTP 响应状态码作为业务使用表达能力偏弱，但是使用在系统层面还是非常不错的
 * 比较特殊的是，因为之前一直使用 0 作为成功，就不使用 200 啦。
 *

 */
public interface GlobalResultCodeConstants {
    ResultCode SUCCESS = new ResultCode(HttpStatus.OK, BaseErrorCode.SUCCESS);

    ResultCode BAD_REQUEST = new ResultCode(HttpStatus.INTERNAL_SERVER_ERROR, SystemErrorCode.BAD_REQUEST);
    ResultCode NOT_FOUND = new ResultCode(HttpStatus.INTERNAL_SERVER_ERROR, SystemErrorCode.NOT_FOUND);
    ResultCode METHOD_NOT_ALLOWED = new ResultCode(HttpStatus.INTERNAL_SERVER_ERROR, SystemErrorCode.METHOD_NOT_ALLOWED);

    ResultCode INTERNAL_SERVER_ERROR = new ResultCode(HttpStatus.INTERNAL_SERVER_ERROR, ServiceErrorCode.INTERNAL_SERVER_ERROR);
    ResultCode NOT_IMPLEMENTED = new ResultCode(HttpStatus.INTERNAL_SERVER_ERROR, "501", "功能未实现/未开启");
}
